package org.hu.mapper;

import org.apache.ibatis.annotations.Param;
import org.hu.model.Employee;

import java.util.List;

public interface EmployeeMapper {
    /**
     * 通过用户名查找用户
     * @param username 用户名
     * @return Employee
     */
    Employee loadEmpByUsername(String username);

    /**
     * 执行注册
     * @param employee 员工对象
     * @return Integer 0为失败 1为成功
     */
    Integer doReg(Employee employee);

    /**
     * 通过状态查找用户
     * @param status 状态 0为待批准 1为批准通过 2为拒绝
     * @return List<Employee>
     */
    List<Employee> getEmployeeByStatus(Integer status);

    Integer updateStatus(@Param("employeeid") Integer id, @Param("status") Integer status);

    /**
     * 取得所有员工并分页
     * @param employee 员工对象
     * @param page  页数
     * @param pageSize  每页数量
     * @return  List<Employee>
     */
    List<Employee> getAllEmployee(@Param("emp") Employee employee,@Param("page") Integer page,@Param("pagesize") Integer pageSize);

    /**
     * 取得所有员工的个数
     * @param employee
     * @return Long
     */
    Long getTotal(Employee employee);

    /**
     * 查询部门所属员工
     * @param depId 部门编号
     * @return List<Employee>
     */
    List<Employee> getEmpByDep(@Param("departmentid") Integer depId);

    List<Employee> getEmpByid(List<Integer> list);

    /**
     * 更新用户密码
     * @param username 用户名
     * @param newpassowrd 新密码
     * @return Integer 1为成功
     */
    Integer updatepwd(@Param("username") String username,@Param("password") String newpassowrd);
}
